]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
[DND] Use Params for DND.makeDraggable()
authorOwen W. Taylor <otaylor@fishsoup.net>
Mon, 22 Mar 2010 19:25:43 +0000 (15:25 -0400)
committerOwen W. Taylor <otaylor@fishsoup.net>
Tue, 23 Mar 2010 15:32:16 +0000 (11:32 -0400)
Replace boolean 'manualMode' with a params object for
improved readability and future expansion.

https://bugzilla.gnome.org/show_bug.cgi?id=613367

js/ui/appDisplay.js
js/ui/dnd.js
js/ui/placeDisplay.js

index b980460b750c5b8b17977749da4b2b3ec86efee7..ab06c3549b2b35f1eedb2629a40967346ecbbba6 100644 (file)
@@ -404,7 +404,8 @@ AppWellIcon.prototype = {
         this.actor.connect('clicked', Lang.bind(this, this._onClicked));
         this._menu = null;
 
-        this._draggable = DND.makeDraggable(this.actor, true);
+        this._draggable = DND.makeDraggable(this.actor,
+                                            { manualMode: true });
         this._dragStartX = null;
         this._dragStartY = null;
 
index bfd30104d27ae34c17ba492472882be6b830b9a8..f64dc7513b3bd6e8a6ab6cc07e5fc7a888e8f0a4 100644 (file)
@@ -6,6 +6,8 @@ const Lang = imports.lang;
 const Signals = imports.signals;
 const Tweener = imports.ui.tweener;
 
+const Params = imports.misc.params;
+
 const SNAP_BACK_ANIMATION_TIME = 0.25;
 
 let eventHandlerActor = null;
@@ -27,14 +29,16 @@ function _getEventHandlerActor() {
     return eventHandlerActor;
 }
 
-function _Draggable(actor, manualMode) {
-    this._init(actor, manualMode);
+function _Draggable(actor, params) {
+    this._init(actor, params);
 }
 
 _Draggable.prototype = {
-    _init : function(actor, manualMode) {
+    _init : function(actor, params) {
+        params = Params.parse(params, { manualMode: false });
+
         this.actor = actor;
-        if (!manualMode)
+        if (!params.manualMode)
             this.actor.connect('button-press-event',
                                Lang.bind(this, this._onButtonPress));
 
@@ -328,10 +332,13 @@ Signals.addSignalMethods(_Draggable.prototype);
 /**
  * makeDraggable:
  * @actor: Source actor
- * @manualMode: If given, do not automatically start drag and drop on click
+ * @params: (optional) Additional parameters
  *
  * Create an object which controls drag and drop for the given actor.
+ *
+ * If %manualMode is %true in @params, do not automatically start
+ * drag and drop on click
  */
-function makeDraggable(actor, manualMode) {
-    return new _Draggable(actor, manualMode);
+function makeDraggable(actor, params) {
+    return new _Draggable(actor, params);
 }
index a7a35d18e32048b41fd325410a2001a54ff1b575..99aecec487a0b7443c846f67e1dda55b3d4b4c0d 100644 (file)
@@ -445,7 +445,8 @@ DashPlaceDisplayItem.prototype = {
         this.actor._delegate = this;
         this._dragStartX = null;
         this._dragStartY = null;
-        this._draggable = DND.makeDraggable(this.actor, true);
+        this._draggable = DND.makeDraggable(this.actor,
+                                            { manualMode: true });
     },
 
     _onClicked: function(b) {